	\section{Global software control}
		\textbf{Control flow decisions}: \\
		\newline
		For control flow mechanism threads will be a good choice for the Da CalendarSystem. The system will wait for input from the users, but will be able to handle concurrent events thanks to an arbitrary number of threads, each responding to different events. The system will allocate a new thread for each event/request, and thereby allowing parallel handling of requests from different users. This will result in a more responsive system, where the system can respond to individual requests before other requests have been completely processed or are waiting for the database to respond.\\
		The drawback of this control mechanism is the higher complexity of the system from being able to synchronize parallel threads. To ensure a robust system without synchronizing problems, we have defined the following strategy for dealing with concurrent request for access of shared data:\\
		\begin{itemize}
			\item Control objects: There will be only one control object per event started by the user. The user will only be able to have one event running at a time and therefore only one control object as well. 
			\item Entity objects will not provide direct access to their fields. Therefore, all changes and accesses to the object state requested from the user will be done through methods dedicated for this purpose. Besides, these methods should only be able to access the fields of the specific object and not other instances of the same class.
			\item Methods for accessing the state in entity objects should be synchronized. That way the system won’t return invalid or old information that might have changed. Therefore only one thread at a time should be active in the access method.
		\end{itemize}
		